import axios from 'axios'
import Qs from 'qs'
import {ElMessage} from 'element-plus'

// 创建axios实例
const service = axios.create({
    baseURL: 'https://apis.tianapi.com', // api的base_url
    // withCredentials: true, // 跨域请求时是否发送cookies
    timeout: 5000 // 请求超时设置
})

// 请求拦截器
service.interceptors.request.use(config => {
    // 请求前做点什么？
    if (!config.data) {
        config.data = {};
    }

    // 对get请求参数传入对象进行处理
    if (config.method === 'get') {
      // 如果是get请求，且params是数组类型如arr=[1,2]，则转换成arr=1&arr=2
      config.paramsSerializer = { 
        serialize:function(params) {
         return Qs.stringify(params, { arrayFormat: 'repeat' })
       }
      }
    }

    // console.log(config)
    // 设置公共参数
    // console.log(qs.stringify(config.data));

    return config;
}, error => {
    // 处理请求错误
    // console.log(error); // 用于调试
    return Promise.reject(error);
})

// 响应拦截器
service.interceptors.response.use(response => {
    // let res = response.data; // 如果返回的结果是data.data的，嫌麻烦可以用这个，return res
    // return res;
    // if(response.data.code !== 200) return ElMessage.warning(res.msg)
    return response
    
}, error => {
    // console.log('error：' + error); // 用于调试
    return Promise.reject(error);
})

export default service;